#ifndef __ATOMTRACE_AABBOX_H_
#define __ATOMTRACE_AABBOX_H_

#include "Vector3.h"
#include "Ray.h"
#include "HitRecord.h"

namespace AtomTrace{
    // AABB, axis-aligned bounding box
    class AABBox
    {
    public:
        Vector3 pmin;
        Vector3 pmax;

        AABBox();
        AABBox(const Vector3 & iMin, const Vector3 & iMax);
        AABBox(float minX, float minY, float minZ,
            float maxX, float maxY, float maxZ);
        

        bool IsEmpty() const;

        bool Intersect(const Ray & r, float & t_max) const;
    }; // class Box

} // namespace AtomTrace

#endif // __ATOMTRACE_AABBOX_H_
